Do it! 자료구조와 함께 배우는 알고리즘 입문 1. 기본 알고리즘 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 가령 최댓값을 구하라는 문제가 주어졌다고 가정해보자. 우리는 문제를 해결할 일련의 로직, 즉 논리적인 흐름을 작성하고 그에 맞는 입력을 받은 후 출력을 행할 것이다. 그 일련의 로직은 컴퓨터가 이해하기 위해 명확하게 작성되어야하고 흐름을 가지기 위해 순서가 있어야 하며, 사람이 작성하기에 유한성을 ... 자료구조알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 3. 검색 배열 검색 1) 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행한다. 2) 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행한다. 선형 리스트 검색 이진 검색 트리 데이터 추가, 삭제 등의 작업을 자주하는 경우라면 검색 이외의 작업에 소요되는 비용을 종합적으로 평가하여 알고리즘을 선택해야 한다. 이 장에서는 선형 검색과 이진 검색을 다룬다. 요소가 직... Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 6. 정렬 - quick, merge 일반적으로 사용되고 있는 아주 빠른 정렬 알고리즘이다. 시간 복잡도는 평균적으로 n log n이지만, 최악의 경우 O(n^2)이다. 피벗이라고 부르는 기준이 될 임의의 값을 선택한다. 피벗 이하의 그룹, 피벗 이상의 그룹으로 나눈다. 두 그룹에서 다시 각각의 피벗을 선정하고 그룹을 쪼갠다. 이를 반복하면 정렬된다. 코드에서는 피벗을 중간값으로 했지만, 실행 효율을 높일 수 있는 방법이 있다.... 자료구조알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 2. 자료구조 (2) 소수는 2부터 n-1까지의 어떤 정수로도 나누어 떨어지지 않는다. -> 일반적인 소수의 개념 소수는 2부터 n-1까지의 어떤 소수로도 나누어 떨어지지 않는다. -> 알고리즘 개선(1) 1부터 n까지의 소수를 계산한다고 했을 때, 배열의 초기 요소로 2를 주고 소수를 발견하면 배열에 차례로 집어넣는다. 소수가 담긴 배열로만 소수여부를 판별하는 방향으로 구현할 수 있다. n의 제곱근 이하의 어떤... 알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문자료구조Do it! 자료구조와 함께 배우는 알고리즘 입문
1. 기본 알고리즘 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 가령 최댓값을 구하라는 문제가 주어졌다고 가정해보자. 우리는 문제를 해결할 일련의 로직, 즉 논리적인 흐름을 작성하고 그에 맞는 입력을 받은 후 출력을 행할 것이다. 그 일련의 로직은 컴퓨터가 이해하기 위해 명확하게 작성되어야하고 흐름을 가지기 위해 순서가 있어야 하며, 사람이 작성하기에 유한성을 ... 자료구조알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 3. 검색 배열 검색 1) 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행한다. 2) 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행한다. 선형 리스트 검색 이진 검색 트리 데이터 추가, 삭제 등의 작업을 자주하는 경우라면 검색 이외의 작업에 소요되는 비용을 종합적으로 평가하여 알고리즘을 선택해야 한다. 이 장에서는 선형 검색과 이진 검색을 다룬다. 요소가 직... Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 6. 정렬 - quick, merge 일반적으로 사용되고 있는 아주 빠른 정렬 알고리즘이다. 시간 복잡도는 평균적으로 n log n이지만, 최악의 경우 O(n^2)이다. 피벗이라고 부르는 기준이 될 임의의 값을 선택한다. 피벗 이하의 그룹, 피벗 이상의 그룹으로 나눈다. 두 그룹에서 다시 각각의 피벗을 선정하고 그룹을 쪼갠다. 이를 반복하면 정렬된다. 코드에서는 피벗을 중간값으로 했지만, 실행 효율을 높일 수 있는 방법이 있다.... 자료구조알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문Do it! 자료구조와 함께 배우는 알고리즘 입문 2. 자료구조 (2) 소수는 2부터 n-1까지의 어떤 정수로도 나누어 떨어지지 않는다. -> 일반적인 소수의 개념 소수는 2부터 n-1까지의 어떤 소수로도 나누어 떨어지지 않는다. -> 알고리즘 개선(1) 1부터 n까지의 소수를 계산한다고 했을 때, 배열의 초기 요소로 2를 주고 소수를 발견하면 배열에 차례로 집어넣는다. 소수가 담긴 배열로만 소수여부를 판별하는 방향으로 구현할 수 있다. n의 제곱근 이하의 어떤... 알고리즘Do it! 자료구조와 함께 배우는 알고리즘 입문자료구조Do it! 자료구조와 함께 배우는 알고리즘 입문